<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  
  <link rel="stylesheet" href="/public/bootstrap.min.css">
  <link rel="stylesheet" href="/public/bootstrap-icons-141.css">
  <link rel="stylesheet" href="/public/style-light.css">
  
  <script src="/public/jquery.min.js"></script>
  <script src="/public/dayjs.min.js"></script>
  <script src="/public/bootstrap.bundle.min.js"></script>
  <script src="/public/util.js"></script>
  <script src="/public/filelist.js"></script>
  
  <title>Files - localtags</title>
</head>
<body>
  <div id="root" class="container" style="max-width: 775px; min-width: 400px;"></div>
  <script>

const Alerts = CreateAlerts();

const [InfoBtn, InfoMsg] = CreateInfoPair('使用说明', m('ul').append([
  m('li').text('这里只列出最近文件（具体数量在 config.json 文件中设置），如需查找旧文件请使用搜索功能。'),
  m('li').text('双击文件名可修改文件名，点击标签图标可修改标签。'),
  m('li').text('修改文件名或标签时，如果内容不变或清空文本框后按 OK 按钮，相当于取消。'),
  m('li').text('按 F12 进入控制台输入命令 "delete_file(id)" 把文件扔进回收站，以后可去回收站找回文件。'),
]));

const Navbar = {
  view: () => m('nav').addClass('navbar navbar-light bg-light').append([
    m('div').addClass('container-fluid').append([
      m('a').attr({title:'main menu',href:'/light/home',type:'button'})
        .addClass('btn btn-outline-dark').append(m('i').addClass('bi bi-house-door')),
      m('span').addClass('navbar-brand').append([
        m('span').addClass('PageTitle').text('Files'), ' ', m(InfoBtn),
      ]),
      m('a').attr({title:'Add Files',href:'/light/add',type:'button'}).addClass('AddFilesBtn btn btn-outline-dark').append(
        m('i').addClass('bi bi-plus')
      ),
      m('a').attr({title:'Files',href:'/light/files',type:'button'}).addClass('AllFilesBtn btn btn-outline-dark').hide().append(
        m('i').addClass('bi bi-card-list'),
      ),
    ]),
  ]),
};

$('#root').append([
  m(Navbar).addClass('mt-2 mb-5'),
  m(InfoMsg).hide(),
  m(Loading),
  m(Alerts),
  m(FileList).addClass('mt-3'),
  m(BottomLine),
]);
  
init()

function init() {
  const filter = getUrlParam('filter');
  let url = '/api/all-files';
  let notFoundMsg = '没有文件，一个也没有。';

  if (filter == 'deleted') {
    url = '/api/deleted-files';
    notFoundMsg = '数据库中没有标记为 "已删除" 的文件';
    $('.PageTitle').text('Recycle Bin');
    $('title').text('Recycle Bin - localtags');
    InfoMsg.setMsg([
      '这里是回收站，点击 Restore 按钮可恢复文件（变回 "未删除" 状态）。',
      '在回收站里，不能修改文件名，不能修改标签，恢复为 "未删除" 状态后才能正常操作。',
    ]);
    $('.AddFilesBtn').hide();
    $('.AllFilesBtn').show();
  } else {
    console.log('高级功能：使用命令 "delete_file(id)" 把文件扔进回收站，以后可去回收站找回文件。');
  }

  ajax({method:'GET',url:url,alerts:Alerts},
    (files) => {
      if (!files || files.length == 0) {
        Alerts.insert('info', notFoundMsg);
        return;
      }
      FileList.append(files);
    }, null, () => {
      Loading.hide();
    });
}

  </script>
</body>
</html>